{{~
    name = x.name
    namespace_with_top_module = x.namespace_with_top_module
    comment = x.comment
    itemInfos = x.itemInfos
~}}

{{x.cpp_namespace_begin}}
{{~if comment != '' ~}}
/**
 * {{comment | html.escape}}
 */
{{~end~}}
enum class {{name}}
{
    {{~ for itemInfo in itemInfos ~}}
{{~if itemInfo.comment != '' ~}}
    /**
     * {{itemInfo.escape_comment}}
     */
{{~end~}}
    {{itemInfo.name}} = {{itemInfo.value}},
    {{~end~}}
};
{{x.cpp_namespace_end}}